@@ -9,7 +9,7 @@ |
||
| 9 | 9 |
<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no"> |
| 10 | 10 |
<title>摄影师授权</title> |
| 11 | 11 |
|
| 12 |
- <link href="https://res.wx.qq.com/open/libs/weui/0.4.3/weui.min.css" rel="stylesheet" type="text/css" /> |
|
| 12 |
+ <link href="//res.wx.qq.com/open/libs/weui/0.4.3/weui.min.css" rel="stylesheet" type="text/css" /> |
|
| 13 | 13 |
|
| 14 | 14 |
<style> |
| 15 | 15 |
input:required:invalid {
|
@@ -185,11 +185,11 @@ |
||
| 185 | 185 |
{% endif %}
|
| 186 | 186 |
</script> |
| 187 | 187 |
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script> |
| 188 |
- <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.3.js' %}"></script>
|
|
| 188 |
+ <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.4.js' %}"></script>
|
|
| 189 | 189 |
<script> |
| 190 | 190 |
V.initWxData({
|
| 191 | 191 |
imgUrl: "http://pai.ai/static/pai2/img/paiai_96_96.png", |
| 192 |
- link: 'http://pai.ai/we/we_oauth2?redirect_url=http://pai.ai/page/lensman&scope=snsapi_base', |
|
| 192 |
+ link: 'http://pai.ai/we/we_oauth2?redirect_url=http://pai.ai/page/lensman&scope=snsapi_userinfo', |
|
| 193 | 193 |
desc: "摄影师授权", |
| 194 | 194 |
title: "摄影师授权", |
| 195 | 195 |
timeLine: "" |
@@ -9,7 +9,7 @@ |
||
| 9 | 9 |
<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no"> |
| 10 | 10 |
<title>授权登录二维码</title> |
| 11 | 11 |
|
| 12 |
- <link href="https://res.wx.qq.com/open/libs/weui/0.4.3/weui.min.css" rel="stylesheet" type="text/css" /> |
|
| 12 |
+ <link href="//res.wx.qq.com/open/libs/weui/0.4.3/weui.min.css" rel="stylesheet" type="text/css" /> |
|
| 13 | 13 |
|
| 14 | 14 |
<style> |
| 15 | 15 |
input:required:invalid {
|
@@ -47,13 +47,13 @@ |
||
| 47 | 47 |
}); |
| 48 | 48 |
</script> |
| 49 | 49 |
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script> |
| 50 |
- <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.3.js' %}"></script>
|
|
| 50 |
+ <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.4.js' %}"></script>
|
|
| 51 | 51 |
<script> |
| 52 | 52 |
V.initWxData({
|
| 53 | 53 |
imgUrl: "http://pai.ai/static/pai2/img/paiai_96_96.png", |
| 54 |
- link: 'http://pai.ai/we/we_oauth2?redirect_url=http://pai.ai/page/lensman&scope=snsapi_base', |
|
| 55 |
- desc: "摄影师授权", |
|
| 56 |
- title: "摄影师授权", |
|
| 54 |
+ link: 'http://pai.ai/we/we_oauth2?redirect_url=http://pai.ai/page/loginqr&scope=snsapi_userinfo', |
|
| 55 |
+ desc: "授权登录", |
|
| 56 |
+ title: "授权登录", |
|
| 57 | 57 |
timeLine: "" |
| 58 | 58 |
}, true); |
| 59 | 59 |
V.hideOptionMenu(); |
@@ -9,7 +9,7 @@ |
||
| 9 | 9 |
<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no"> |
| 10 | 10 |
<title>导游授权</title> |
| 11 | 11 |
|
| 12 |
- <link href="https://res.wx.qq.com/open/libs/weui/0.4.3/weui.min.css" rel="stylesheet" type="text/css" /> |
|
| 12 |
+ <link href="//res.wx.qq.com/open/libs/weui/0.4.3/weui.min.css" rel="stylesheet" type="text/css" /> |
|
| 13 | 13 |
|
| 14 | 14 |
<style> |
| 15 | 15 |
input:required:invalid {
|
@@ -152,7 +152,7 @@ |
||
| 152 | 152 |
|
| 153 | 153 |
<script type="text/javascript" src="//cdn.bootcss.com/zepto/1.1.6/zepto.min.js"></script> |
| 154 | 154 |
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script> |
| 155 |
- <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.3.js' %}"></script>
|
|
| 155 |
+ <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.4.js' %}"></script>
|
|
| 156 | 156 |
<script> |
| 157 | 157 |
{% if modified %}
|
| 158 | 158 |
$(function() {
|
@@ -250,20 +250,21 @@ |
||
| 250 | 250 |
{% endif %}
|
| 251 | 251 |
</script> |
| 252 | 252 |
<script> |
| 253 |
- V.wxChooseImageSuccess = function (res) {
|
|
| 254 |
- $('#tour_guide_photo')[0].src = V.images.localIds[0];
|
|
| 255 |
- } |
|
| 256 | 253 |
V.initWxData({
|
| 257 | 254 |
imgUrl: "http://pai.ai/static/pai2/img/paiai_96_96.png", |
| 258 |
- link: 'http://pai.ai/we/we_oauth2?redirect_url=http://pai.ai/page/tourguide&scope=snsapi_base', |
|
| 255 |
+ link: 'http://pai.ai/we/we_oauth2?redirect_url=http://pai.ai/page/tourguide&scope=snsapi_userinfo', |
|
| 259 | 256 |
desc: "导游授权", |
| 260 | 257 |
title: "导游授权", |
| 261 | 258 |
timeLine: "" |
| 262 | 259 |
}, true); |
| 263 | 260 |
V.hideOptionMenu(); |
| 261 |
+ // 导游证上传 |
|
| 264 | 262 |
$('.weui_uploader_input_wrp').click(function () {
|
| 265 | 263 |
V.chooseImage(1, true); |
| 266 | 264 |
}) |
| 265 |
+ V.wxChooseImageSuccess = function (res) {
|
|
| 266 |
+ $('#tour_guide_photo')[0].src = V.images.localIds[0];
|
|
| 267 |
+ } |
|
| 267 | 268 |
</script> |
| 268 | 269 |
</body> |
| 269 | 270 |
</html> |
@@ -40,6 +40,7 @@ |
||
| 40 | 40 |
'previewImage', |
| 41 | 41 |
'uploadImage', |
| 42 | 42 |
'downloadImage', |
| 43 |
+ 'getLocalImgData', |
|
| 43 | 44 |
'getNetworkType', |
| 44 | 45 |
'openLocation', |
| 45 | 46 |
'getLocation', |
@@ -56,13 +57,13 @@ |
||
| 56 | 57 |
], wxApiFun |
| 57 | 58 |
|
| 58 | 59 |
function isEmpty(obj) {
|
| 59 |
- if (obj == null) return true; |
|
| 60 |
- if (obj.length > 0) return false; |
|
| 61 |
- if (obj.length === 0) return true; |
|
| 60 |
+ if (obj == null) return true |
|
| 61 |
+ if (obj.length > 0) return false |
|
| 62 |
+ if (obj.length === 0) return true |
|
| 62 | 63 |
for (var key in obj) {
|
| 63 |
- if (Object.prototype.hasOwnProperty.call(obj, key)) return false; |
|
| 64 |
+ if (Object.prototype.hasOwnProperty.call(obj, key)) return false |
|
| 64 | 65 |
} |
| 65 |
- return true; |
|
| 66 |
+ return true |
|
| 66 | 67 |
} |
| 67 | 68 |
|
| 68 | 69 |
function isNotEmpty(obj) {
|
@@ -195,7 +196,7 @@ |
||
| 195 | 196 |
fail: function (res) {
|
| 196 | 197 |
if (JSWE.wxHideMenuItemsFail) {JSWE.wxHideMenuItemsFail(res)}
|
| 197 | 198 |
} |
| 198 |
- }); |
|
| 199 |
+ }) |
|
| 199 | 200 |
} |
| 200 | 201 |
// 8.4 批量显示菜单项 |
| 201 | 202 |
if (isNotEmpty(wxConfig.showMenuItems)) {
|
@@ -207,7 +208,7 @@ |
||
| 207 | 208 |
fail: function (res) {
|
| 208 | 209 |
if (JSWE.wxShowMenuItemsFail) {JSWE.wxShowMenuItemsFail(res)}
|
| 209 | 210 |
} |
| 210 |
- }); |
|
| 211 |
+ }) |
|
| 211 | 212 |
} |
| 212 | 213 |
// 8.5 隐藏所有非基本菜单项 |
| 213 | 214 |
// 8.6 显示所有被隐藏的非基本菜单项 |
@@ -216,9 +217,24 @@ |
||
| 216 | 217 |
} |
| 217 | 218 |
// 8.7 关闭当前窗口 |
| 218 | 219 |
if (wxConfig.close) {wx.closeWindow()}
|
| 220 |
+ }, wxVoiceApi = function() {
|
|
| 221 |
+ // 4.3 监听录音自动停止 |
|
| 222 |
+ wx.onVoiceRecordEnd({
|
|
| 223 |
+ complete: function (res) {
|
|
| 224 |
+ voice.localId = res.localId |
|
| 225 |
+ if (JSWE.wxVoiceRecordEnd) {JSWE.wxVoiceRecordEnd(res)}
|
|
| 226 |
+ } |
|
| 227 |
+ }) |
|
| 228 |
+ // 4.7 监听录音播放停止 |
|
| 229 |
+ wx.onVoicePlayEnd({
|
|
| 230 |
+ complete: function (res) {
|
|
| 231 |
+ if (JSWE.wxVoicePlayEnd) {JSWE.wxVoicePlayEnd(res)}
|
|
| 232 |
+ } |
|
| 233 |
+ }) |
|
| 219 | 234 |
}, wxApi = function () {
|
| 220 | 235 |
wxShareApi() |
| 221 | 236 |
wxMenuApi() |
| 237 |
+ wxVoiceApi() |
|
| 222 | 238 |
} |
| 223 | 239 |
|
| 224 | 240 |
wx.ready(wxApi) |
@@ -254,13 +270,119 @@ |
||
| 254 | 270 |
if ('undefined' !== typeof wxApiFun) wxApiFun()
|
| 255 | 271 |
} |
| 256 | 272 |
|
| 273 |
+ // 3 智能接口 |
|
| 274 |
+ var voice = {
|
|
| 275 |
+ localId: '', |
|
| 276 |
+ serverId: '' |
|
| 277 |
+ } |
|
| 278 |
+ // 3.1 识别音频并返回识别结果 |
|
| 279 |
+ function translateVoice() {
|
|
| 280 |
+ if (voice.localId == '') {
|
|
| 281 |
+ if (JSWE.wxTranslateVoiceEmpty) {JSWE.wxTranslateVoiceEmpty()}
|
|
| 282 |
+ return |
|
| 283 |
+ } |
|
| 284 |
+ wx.translateVoice({
|
|
| 285 |
+ localId: voice.localId, |
|
| 286 |
+ complete: function (res) {
|
|
| 287 |
+ if (JSWE.wxTranslateVoiceComplete) {JSWE.wxTranslateVoiceComplete(res)}
|
|
| 288 |
+ } |
|
| 289 |
+ }) |
|
| 290 |
+ } |
|
| 291 |
+ |
|
| 292 |
+ // 4 音频接口 |
|
| 293 |
+ // 4.1 开始录音 |
|
| 294 |
+ function startRecord() {
|
|
| 295 |
+ wx.startRecord({
|
|
| 296 |
+ cancel: function () {
|
|
| 297 |
+ if (JSWE.wxStartRecordCancel) {JSWE.wxStartRecordCancel(res)}
|
|
| 298 |
+ } |
|
| 299 |
+ }) |
|
| 300 |
+ } |
|
| 301 |
+ |
|
| 302 |
+ // 4.2 停止录音 |
|
| 303 |
+ function stopRecord() {
|
|
| 304 |
+ wx.stopRecord({
|
|
| 305 |
+ success: function (res) {
|
|
| 306 |
+ voice.localId = res.localId |
|
| 307 |
+ if (JSWE.wxStopRecordSuccess) {JSWE.wxStopRecordSuccess(res)}
|
|
| 308 |
+ }, |
|
| 309 |
+ fail: function (res) {
|
|
| 310 |
+ if (JSWE.wxStopRecordFail) {JSWE.wxStopRecordFail(res)}
|
|
| 311 |
+ } |
|
| 312 |
+ }) |
|
| 313 |
+ } |
|
| 314 |
+ |
|
| 315 |
+ // 4.4 播放音频 |
|
| 316 |
+ function playVoice() {
|
|
| 317 |
+ if (voice.localId == '') {
|
|
| 318 |
+ if (JSWE.wxPlayVoiceEmpty) {JSWE.wxPlayVoiceEmpty()}
|
|
| 319 |
+ return |
|
| 320 |
+ } |
|
| 321 |
+ wx.playVoice({
|
|
| 322 |
+ localId: voice.localId |
|
| 323 |
+ }) |
|
| 324 |
+ } |
|
| 325 |
+ |
|
| 326 |
+ // 4.5 暂停播放音频 |
|
| 327 |
+ function pauseVoice() {
|
|
| 328 |
+ if (voice.localId == '') {
|
|
| 329 |
+ if (JSWE.wxPauseVoiceEmpty) {JSWE.wxPauseVoiceEmpty()}
|
|
| 330 |
+ return |
|
| 331 |
+ } |
|
| 332 |
+ wx.pauseVoice({
|
|
| 333 |
+ localId: voice.localId |
|
| 334 |
+ }) |
|
| 335 |
+ } |
|
| 336 |
+ |
|
| 337 |
+ // 4.6 停止播放音频 |
|
| 338 |
+ function stopVoice() {
|
|
| 339 |
+ if (voice.localId == '') {
|
|
| 340 |
+ if (JSWE.wxStopVoiceEmpty) {JSWE.wxStopVoiceEmpty()}
|
|
| 341 |
+ return |
|
| 342 |
+ } |
|
| 343 |
+ wx.stopVoice({
|
|
| 344 |
+ localId: voice.localId |
|
| 345 |
+ }) |
|
| 346 |
+ } |
|
| 347 |
+ |
|
| 348 |
+ // 4.8 上传语音 |
|
| 349 |
+ function uploadVoice() {
|
|
| 350 |
+ var localId = voice.localId |
|
| 351 |
+ if (localId == '') {
|
|
| 352 |
+ if (JSWE.wxUploadVoiceEmpty) {JSWE.wxUploadVoiceEmpty()}
|
|
| 353 |
+ return |
|
| 354 |
+ } |
|
| 355 |
+ wx.uploadVoice({
|
|
| 356 |
+ localId: localId, |
|
| 357 |
+ success: function (res) {
|
|
| 358 |
+ voice.serverId = res.serverId |
|
| 359 |
+ if (JSWE.wxUploadVoiceSuccess) {JSWE.wxUploadVoiceSuccess(res, localId)}
|
|
| 360 |
+ } |
|
| 361 |
+ }) |
|
| 362 |
+ } |
|
| 363 |
+ |
|
| 364 |
+ // 4.9 下载语音 |
|
| 365 |
+ function downloadVoice() {
|
|
| 366 |
+ var serverId = voice.serverId |
|
| 367 |
+ if (serverId == '') {
|
|
| 368 |
+ if (JSWE.wxDownloadVoiceEmpty) {JSWE.wxDownloadVoiceEmpty()}
|
|
| 369 |
+ return |
|
| 370 |
+ } |
|
| 371 |
+ wx.downloadVoice({
|
|
| 372 |
+ serverId: serverId, |
|
| 373 |
+ success: function (res) {
|
|
| 374 |
+ voice.localId = res.localId |
|
| 375 |
+ if (JSWE.wxDownloadVoiceSuccess) {JSWE.wxDownloadVoiceSuccess(res, serverId)}
|
|
| 376 |
+ } |
|
| 377 |
+ }) |
|
| 378 |
+ } |
|
| 379 |
+ |
|
| 257 | 380 |
// 5 图片接口 |
| 258 |
- // 5.1 拍照、本地选图 |
|
| 259 | 381 |
var images = {
|
| 260 | 382 |
localIds: [], |
| 261 | 383 |
serverIds: [] |
| 262 |
- }; |
|
| 263 |
- // function chooseImage(count, directUpload, isShowProgressTips) {
|
|
| 384 |
+ } |
|
| 385 |
+ // 5.1 拍照、本地选图 |
|
| 264 | 386 |
function chooseImage(choose_params) {
|
| 265 | 387 |
if ('undefined' === typeof choose_params) choose_params = {}
|
| 266 | 388 |
wx.chooseImage({
|
@@ -268,13 +390,13 @@ |
||
| 268 | 390 |
sizeType: choose_params.sizeType || ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 |
| 269 | 391 |
sourceType: choose_params.sourceType || ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有 |
| 270 | 392 |
success: function (res) {
|
| 271 |
- images.localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片 |
|
| 393 |
+ images.localIds = res.localIds // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片 |
|
| 272 | 394 |
// 判断是否直接上传 |
| 273 | 395 |
if (choose_params.directUpload) {setTimeout(uploadImages({localIds: images.localIds, isShowProgressTips: choose_params.isShowProgressTips || 1}), 100)}
|
| 274 | 396 |
// 拍照、本地选图成功后的回调函数 |
| 275 |
- if (JSWE.wxChooseImageSuccess) {JSWE.wxChooseImageSuccess(res)}
|
|
| 397 |
+ if (JSWE.wxChooseImageSuccess) {JSWE.wxChooseImageSuccess(res, choose_params.extras || {})}
|
|
| 276 | 398 |
} |
| 277 |
- }); |
|
| 399 |
+ }) |
|
| 278 | 400 |
} |
| 279 | 401 |
|
| 280 | 402 |
// 5.2 图片预览 |
@@ -282,31 +404,59 @@ |
||
| 282 | 404 |
wx.previewImage({
|
| 283 | 405 |
current: preview_params.current, // 当前显示图片的链接,不填则默认为 urls 的第一张 |
| 284 | 406 |
urls: preview_params.urls // 需要预览的图片链接列表 |
| 285 |
- }); |
|
| 407 |
+ }) |
|
| 286 | 408 |
} |
| 287 | 409 |
|
| 288 | 410 |
// 5.3 上传图片 |
| 289 |
- // function uploadImage(localId, isShowProgressTips) {
|
|
| 290 | 411 |
function uploadImage(upload_params) {
|
| 291 | 412 |
// 上传图片为异步处理,重复上传同一图片,返回的serverId也是不同的 |
| 413 |
+ var localId = upload_params.localId |
|
| 292 | 414 |
wx.uploadImage({
|
| 293 |
- localId: upload_params.localId, // 需要上传的图片的本地ID,由chooseImage接口获得 |
|
| 415 |
+ localId: localId, // 需要上传的图片的本地ID,由chooseImage接口获得 |
|
| 294 | 416 |
isShowProgressTips: upload_params.isShowProgressTips || 1, // 默认为1,显示进度提示 |
| 295 | 417 |
success: function (res) {
|
| 296 |
- images.serverIds.push(res.serverId); // 返回图片的服务器端ID |
|
| 418 |
+ images.serverIds.push(res.serverId) // 返回图片的服务器端ID |
|
| 297 | 419 |
// 上传图片成功后的回调函数 |
| 298 |
- if (JSWE.wxUploadImageSuccess) {JSWE.wxUploadImageSuccess(res)}
|
|
| 420 |
+ if (JSWE.wxUploadImageSuccess) {JSWE.wxUploadImageSuccess(res, localId)}
|
|
| 299 | 421 |
} |
| 300 |
- }); |
|
| 422 |
+ }) |
|
| 301 | 423 |
} |
| 302 | 424 |
|
| 303 |
- // function uploadImages(localIds, isShowProgressTips) {
|
|
| 304 | 425 |
function uploadImages(upload_params) {
|
| 305 | 426 |
var localIds = upload_params.localIds, isShowProgressTips = upload_params.isShowProgressTips || 1 |
| 306 |
- images.serverIds = []; |
|
| 427 |
+ images.serverIds = [] |
|
| 307 | 428 |
for (var idx in localIds) {uploadImage({localId: localIds[idx], isShowProgressTips: isShowProgressTips})}
|
| 308 | 429 |
} |
| 309 | 430 |
|
| 431 |
+ // 5.4 下载图片 |
|
| 432 |
+ function downloadImage(download_params) {
|
|
| 433 |
+ var serverId = download_params.serverId |
|
| 434 |
+ wx.downloadImage({
|
|
| 435 |
+ serverId: serverId, // 需要下载的图片的服务器端ID,由uploadImage接口获得 |
|
| 436 |
+ isShowProgressTips: download_params.isShowProgressTips || 1, // 默认为1,显示进度提示 |
|
| 437 |
+ success: function (res) {
|
|
| 438 |
+ images.localId.push(res.localId) |
|
| 439 |
+ if (JSWE.wxDownloadImageSuccess) {JSWE.wxDownloadImageSuccess(res, serverId)}
|
|
| 440 |
+ } |
|
| 441 |
+ }) |
|
| 442 |
+ } |
|
| 443 |
+ |
|
| 444 |
+ function downloadImages(download_params) {
|
|
| 445 |
+ var serverIds = download_params.serverIds, isShowProgressTips = download_params.isShowProgressTips || 1 |
|
| 446 |
+ images.localIds = [] |
|
| 447 |
+ for (var idx in serverIds) {downloadImage({serverId: serverIds[idx], isShowProgressTips: isShowProgressTips})}
|
|
| 448 |
+ } |
|
| 449 |
+ |
|
| 450 |
+ function getLocalImgData(localId) {
|
|
| 451 |
+ wx.getLocalImgData({
|
|
| 452 |
+ localId: localId, // 图片的localID |
|
| 453 |
+ success: function (res) {
|
|
| 454 |
+ // var localData = res.localData; // localData是图片的base64数据,可以用img标签显示 |
|
| 455 |
+ if (JSWE.wxGetLocalImgDataSuccess) {JSWE.wxGetLocalImgDataSuccess(res)}
|
|
| 456 |
+ } |
|
| 457 |
+ }) |
|
| 458 |
+ } |
|
| 459 |
+ |
|
| 310 | 460 |
// 9 微信原生接口 |
| 311 | 461 |
// 9.1.1 扫描二维码并返回结果 |
| 312 | 462 |
// 9.1.2 扫描二维码并返回结果 |
@@ -318,7 +468,7 @@ |
||
| 318 | 468 |
success: function (res) { // 当 needResult 为 1 时,扫码返回的结果
|
| 319 | 469 |
if (JSWE.wxScanQRCodeSuccess) {JSWE.wxScanQRCodeSuccess(res)}
|
| 320 | 470 |
} |
| 321 |
- }); |
|
| 471 |
+ }) |
|
| 322 | 472 |
} |
| 323 | 473 |
|
| 324 | 474 |
// QRCode & BarCode is different |
@@ -389,12 +539,26 @@ |
||
| 389 | 539 |
changeWxData: changeWxData, |
| 390 | 540 |
fixedWxData: fixedWxData, |
| 391 | 541 |
|
| 542 |
+ // Voice Function |
|
| 543 |
+ voice: voice, |
|
| 544 |
+ translateVoice: translateVoice, |
|
| 545 |
+ startRecord: startRecord, |
|
| 546 |
+ stopRecord: stopRecord, |
|
| 547 |
+ playVoice: playVoice, |
|
| 548 |
+ pauseVoice: pauseVoice, |
|
| 549 |
+ stopVoice: stopVoice, |
|
| 550 |
+ uploadVoice: uploadVoice, |
|
| 551 |
+ downloadVoice: downloadVoice, |
|
| 552 |
+ |
|
| 392 | 553 |
// Image Function |
| 393 | 554 |
images: images, |
| 394 | 555 |
chooseImage: chooseImage, |
| 395 | 556 |
previewImage: previewImage, |
| 396 | 557 |
uploadImage: uploadImage, |
| 397 | 558 |
uploadImages: uploadImages, |
| 559 |
+ downloadImage: downloadImage, |
|
| 560 |
+ downloadImages: downloadImages, |
|
| 561 |
+ getLocalImgData: getLocalImgData, |
|
| 398 | 562 |
|
| 399 | 563 |
// Scan Function |
| 400 | 564 |
scanQRCode: scanQRCode, |
@@ -47,7 +47,7 @@ |
||
| 47 | 47 |
|
| 48 | 48 |
<script type="text/javascript" src="//cdn.bootcss.com/zepto/1.1.6/zepto.min.js"></script> |
| 49 | 49 |
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script> |
| 50 |
- <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.3.js' %}"></script>
|
|
| 50 |
+ <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.4.js' %}"></script>
|
|
| 51 | 51 |
<script> |
| 52 | 52 |
V.initWxData({
|
| 53 | 53 |
imgUrl: "http://pai.ai/static/pai2/img/paiai_96_96.png", |
@@ -49,7 +49,7 @@ |
||
| 49 | 49 |
|
| 50 | 50 |
<script type="text/javascript" src="//cdn.bootcss.com/zepto/1.1.6/zepto.min.js"></script> |
| 51 | 51 |
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script> |
| 52 |
- <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.3.js' %}"></script>
|
|
| 52 |
+ <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.4.js' %}"></script>
|
|
| 53 | 53 |
<script> |
| 54 | 54 |
V.initWxData({
|
| 55 | 55 |
imgUrl: "http://pai.ai/static/pai2/img/paiai_96_96.png", |